package com.tfjybj.itoo.exam.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import java.util.Date;

/**
 * RealTimeModel
 * 在线学生实时监控信息
 *
 * @author 李青松
 * @version 2.0.0
 * @since 2.0.0 2018-11-24 20:34:46
 */
@ApiModel(value = "RealTimeModel:在线学生实时监控信息")
@Data
@NoArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
public class RealTimeModel {
    /**
     * N
     * examineeid
     */
    @ApiModelProperty(value = "examineeId")
    @Column(name = "examineeId")
    private String examineeId;
    /**
     * student_id
     */
    @ApiModelProperty(value = "studentId")
    @Column(name = "studentId")
    private String studentId;
    /**
     * student_id
     */
    @ApiModelProperty(value = "studentName")
    @Column(name = "studentName")
    private String studentName;
    /**
     * student登录ip
     */
    @ApiModelProperty(value = "studentIp")
    @Column(name = "studentIp")
    private String studentIp;
    /**
     * student学生学号
     */
    @ApiModelProperty(value = "studentCode")
    @Column(name = "studentCode")
    private String studentCode;
    /**
     * student学生考试状态
     */
    @ApiModelProperty(value = "studentExamState")
    @Column(name = "studentExamState")
    private String studentExamState;
    /**
     * class_name行政班名称
     */
    @ApiModelProperty(value = "className")
    @Column(name = "className")
    private String className;
    /**
     * class_id行政班id
     */
    @ApiModelProperty(value = "classId")
    @Column(name = "classId")
    private String classId;
    /**
     * get_question_time学生抽卷时间
     */
    @JsonFormat(
            pattern = "HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "getQuestionTime")
    private Date getQuestionTime;
    /**
     * should_submit_time理论交卷时间
     */
    @JsonFormat(
            pattern = "HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "shouldSubmitTime")
    private Date shouldSubmitTime;
    /**
     * login_time学生登录时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "loginTime")
    private Date loginTime;
    /**
     * exam_duration考试时长
     */
    @ApiModelProperty(value = "examDuration")
    @Column(name = "examDuration")
    private String examDuration;
    /**
     * examination_id考试id
     */
    @ApiModelProperty(value = "examinationId")
    @Column(name = "examinationId")
    private String examinationId;
    /**
     * college_name学院名称
     */
    @ApiModelProperty(value = "collegeName")
    @Column(name = "collegeName")
    private String collegeName;
    /**
     * college_id学院id
     */
    @ApiModelProperty(value = "collegeId")
    @Column(name = "collegeId")
    private String collegeId;
    /**
     * question_type_id题型_id
     */
    @ApiModelProperty(value = "questionTypeId")
    @Column(name = "questionTypeId")
    private String questionTypeId;
    /**
     * 学生得分成绩
     */
    @ApiModelProperty(value = "sumScore")
    @Column(name = "sumScore")
    private Double sumScore;

    /**
     * 学生专业
     */
    @ApiModelProperty(value = "majorName")
    @Column(name = "majorName")
    private String majorName;

    /**
     * 总题数
     */
    @ApiModelProperty(value = "total", example = "0")
    @Column(name = "total")
    private Integer total;

    /**
     * 已答题数
     */
    @ApiModelProperty(value = "done", example = "0")
    @Column(name = "done")
    private Integer done;

    /**
     * 未答题数
     */
    @ApiModelProperty(value = "todo", example = "0")
    @Column(name = "todo")
    private Integer todo;

    /**
     * 总分数
     */
    @ApiModelProperty(value = "standScore")
    @Column(name = "standScore")
    private Double standScore;

    /**
     * 缺考信息
     */
    @ApiModelProperty(value = "absentInfo")
    @Column(name = "absentInfo")
    private String absentInfo;

    /**
     * 缺考信息
     */
    @ApiModelProperty(value = "scoreRate")
    @Column(name = "scoreRate")
    private int scoreRate;

    /**
     * 监控后端是否有问题
     */
    @ApiModelProperty(value = "monitor")
    @Column(name = "monitor")
    private boolean monitor;

    /**
     * 考试名称
     */
    @ApiModelProperty(value = "examName")
    @Column(name = "examName")
    private String examName;

    /**
     * 考场名称
     */
    @ApiModelProperty(value = "examRoomName")
    @Column(name = "examRoomName")
    private String examRoomName;

    /**
     * 考试开始时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "examStartTime")
    @Column(name = "examStartTime")
    private Date examStartTime;

    /**
     * 考试结束时间
     */
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
    @ApiModelProperty(value = "examEndTime")
    @Column(name = "examEndTime")
    private Date examEndTime;


}
